package io.renren.hanlp;

import com.hankcs.hanlp.dictionary.CustomDictionary;
import com.hankcs.hanlp.seg.common.Term;
import com.hankcs.hanlp.tokenizer.IndexTokenizer;
import io.renren.RenrenApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

/**
 * @author: xiaomi
 * @date: 2022/1/26
 * @description: 貌似只有索引分词能够支持全切分
 */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RenrenApplication.class)
public class IndexTokenizerSample {

    /**
     * w 标点
     * nx 字母专名
     */
    @Test
    public void testIndexTokenizer() {
        //似乎无法通过配置路径来实现——只能通过动态添加字典了。这样也不错！
        CustomDictionary.add("全限定名");
        String str = "##当某些类的（）全限定名一致时，但是实际上又需要做区分，此时就会起冲突。eg.Tomcat 隔离不同web应用中的代码";
        List<Term> termList = IndexTokenizer.segment(str);
        for (Term term : termList) {
            System.out.println(term + " [" + term.offset + ":" + (term.offset + term.word.length()) + "]");
        }
    }

    public static void main(String[] args) {
        String str = "主副食品";
        str = "他说的确实在理";
        str = "###当某些类的全限定名一致时，但是实际上又需要做区分，此时就会起冲突。eg.Tomcat 隔离不同web应用中的代码";
        List<Term> termList = IndexTokenizer.segment(str);
        for (Term term : termList) {
            System.out.println(term + " [" + term.offset + ":" + (term.offset + term.word.length()) + "]");
        }
    }
}
